package com.qr.jedis.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class JedisPoolUtils {

    private static JedisPool jedisPool;

    //定义一个静态代码块，当这个类加载的时候就去读取文件
    static {
        //读取配置文件
        InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
        //创建Properties对象
        Properties pro = new Properties();
        try {
            pro.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //获取数据，设置到jedisPoolConfig中
        JedisPoolConfig config = new JedisPoolConfig();
        //这里面要求的是一个int型的值，转换一下。
        config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
        config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));
        //初始化JedisPool，通过构造方法创建对象
        jedisPool = new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));

    }

    /*
        获取连接的方法
     */
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }

    /*测试获取对象*/
    public static void main(String[] args) {

        Jedis jedis = JedisPoolUtils.getJedis();
        System.out.println(jedis);
    }
}